今天是SQL語法回顧與練習的一天
讓我們來複習一下我們目前學到的SQL語法
並回答下列問題吧
讓我們先回顧一下目前學到的SQL語法有哪些
增加限定條件 WHERE + <condition>
資料不重複 DISTINCT
資料排序 ORDER BY ASC/DSEC
限制資料筆數 LIMIT 5
限制資料筆數和偏移量 LIMIT 5 OFFSET 5
以及好用的運算子們
1.第一題我們要找出加拿大的城市與他們對應的人口數
因此,我們只需要用WHERE
並加上國家=加拿大的condition便可以撈出我們想要的結果
2.第二題我們需要找出指定國家的城市,並且依照他們的緯度由北至南的排序
所以會用WHERE
和 ORDER BY
3.第三題我們要列出所有在芝加哥西邊的城市,並且依照經度由西至東的排列
這題我們要先知道要怎麼利用經度來找出芝加哥西邊的城市
由於整個美洲都在本初子午線(prime meridian)左邊
所以整個美洲的城市其經度皆為負值 ; 經度往東為正,往西為負
因此若想要找出芝加哥西邊的城市即代表他們的經度必須小於芝加哥所在的經度
有了以上的概念之後
我們便可以利用WHERE
來限制經度
並用ORDER BY
來排序
pic source https://zh.wikipedia.org/zh-tw/%E6%9C%AC%E5%88%9D%E5%AD%90%E5%8D%88%E7%B7%9A
pic source https://journeynorth.org/tm/LongitudeIntro.html
4.第四題要找出墨西哥人口數最多的兩個城市
因此我們便可以先用WHERE
限制在墨西哥的城市
接著用ORDER BY
將城市依照人口數由大到小排列
最後用LIMIT
選出前兩筆資料便是答案
5.第五題的概念和第四題非常相似
只是多了要挑選人口數第3大和第4大的城市
因此除了WHERE
ORDER BY
LIMIT
之外
我們還必須使用 OFFSET
來選出人口數第3大和第4大的城市
因此打完收工,今天的複習就到這裡
剩下的我們明天繼續囉